#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

}

MainWindow::~MainWindow()
{
    delete ui;
};

void MainWindow::keyPressEvent(QKeyEvent *event){//重写基类的按键按下事件处理器
    // 重写基类的按键按下事件处理器
        switch (event->key()) {
        case Qt::Key_Down: {
            QPoint pos = ui->label->pos(); // 获取label当前位置
            if (pos.y() + 5 < this->height()) { // 检查是否超出窗口高度
                pos.setY(pos.y() + 5); // 修改pos的y坐标
            } else {
                pos.setY(0); // 如果超出，则回到顶部
            }
            ui->label->move(pos); // label移动到新位置
            break;
        }
        case Qt::Key_Up: {
            QPoint pos = ui->label->pos(); // 获取label当前位置
            if (pos.y() - 5 >= 0) { // 检查是否低于窗口顶部
                pos.setY(pos.y() - 5); // 修改pos的y坐标
            } else {
                pos.setY(this->height() - ui->label->height()); // 如果低于顶部，则回到底部
            }
            ui->label->move(pos); // label移动到新位置
            break;
        }
        default:
            QMainWindow::keyPressEvent(event); // 调用基类处理其他按键
        }
}
void MainWindow:: mousePressEvent(QMouseEvent *event){//重写鼠标点击事件处理器

   QPoint pos = event->pos();//获取鼠标的位置
    ui->label->move(pos);//移动label到pos位置
}
